package _03基本数据类型以及他们的封装类;


import org.junit.Test;

/**
 * @author 董代恒
 * @version 1.0
 */
public class BasicDataType {
    char c;
    @Test
    public void Test01(){
        /*
            类型  字节  默认值  封装类
            byte 1  (byte)0     Byte
            short 2  (short)0   Short
            int    4    0       Integer  2^32
            long  8     0l      Long
         */
        /*
        Java语言规范中规定，所有基本数据类型的变量在声明时如果没有显式地初始化，它们将被自动初始化为默认值。
        对于char 类型，这个默认值是\u0000，即Unicode编码中的空字符（null character），其对应的十进制数值是0
         */
        System.out.println(c); //空字符
        /*
        使用较小类型运算没有性能优势，消除较小的类型使得字节码更简单，并且使得具有未来扩展空间的完整指令集仍然
        适合单个字节中的操作码。因此，较小的类型通常被视为Java设计中的二等公民，在各个步骤转换为int，因为这简
        化了一些事情。较小的类型引入专用的算术逻辑单元不值得付出努力：它需要额外的晶体管，但它仍然只能在一个
        时钟周期内执行一次加法。 JVM设计时的主流架构是32位，适合32位int
         */
        byte b1=1;
        byte b2=2;
        byte b3=(byte)(b1+b2);
        System.out.println(b3);
    }
}
